package web.reclamos.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import web.reclamos.beans.Coorporacion;
import web.reclamos.beans.Departamento;
import web.reclamos.beans.Area;
import web.reclamos.beans.Empresa;
import web.reclamos.service.DepartamentoService;

public class DepartamentoServlet extends HttpServlet {


    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        if(request.getServletPath().equals("/departamento_nuevo.reclamo")) {
            nuevoDepartamento(request, response);
        }else if(request.getServletPath().equals("/departamento_modificar.reclamo")) {
            modificarDepartamento(request, response);
        }else if(request.getServletPath().equals("/departamento_eliminar.reclamo")) {
            eliminarDepartamento(request, response);
        }else if(request.getServletPath().equals("/departamento_consultar.reclamo")) {
            consultarDepartamento(request, response);
        }
    }

    private void nuevoDepartamento(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
          DepartamentoService depService = new DepartamentoService();
          Departamento departamento = new Departamento();
            System.out.println("+++++++++++++++++++++++++++");
            System.out.println(request.getParameter("txtId"));
            System.out.println(request.getParameter("txtNombre"));
            System.out.println(request.getParameter("txtIdArea"));
            System.out.println(request.getParameter("txtIdEmpresa"));
            System.out.println(request.getParameter("txtIdCoorporacion"));
            System.out.println("+++++++++++++++++++++++++++");
          departamento.setId_departamento(Integer.parseInt(request.getParameter("txtId")));
          departamento.setArea(new Area(Integer.parseInt(request.getParameter("txtIdArea")), null));
          departamento.setEmpresa(new Empresa(Integer.parseInt(request.getParameter("txtIdEmpresa")), null, null, null));
          departamento.setCoorporacion(new Coorporacion(Integer.parseInt(request.getParameter("txtIdCoorporacion")), null, null, null));
          departamento.setNombre_departamento(request.getParameter("txtNombre"));

           try {
                depService.registrarDepartamento(departamento);
            }catch(Exception ex) {
                //Ir pagina de error
            }
           //Regresar pagina producto_nuevo
          response.sendRedirect("TablasExito.jsp");
    }
    private void modificarDepartamento(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        /*ProductoService proService = new ProductoService();
        String filtro = request.getParameter("txtFiltro");

        Producto producto = new Producto();
        producto.setId(Integer.parseInt(request.getParameter("txtId")));
        producto.setNombre(request.getParameter("txtNombre"));
        producto.setPrecio(Float.parseFloat(request.getParameter("txtPrecio")));
        producto.setStock(Integer.parseInt(request.getParameter("txtStock")));

        proService.modificarProducto(producto);

        String url = "/producto_consultar.isil?txtNombre=" + filtro ;
        getServletContext().getRequestDispatcher(url).forward(request, response);*/
    }

    private void eliminarDepartamento(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        /*ProductoService proService = new ProductoService();
        int id = Integer.parseInt(request.getParameter("id"));

        proService.eliminarProducto(id);

        String url = "/producto_consultar.isil?txtNombre=" + request.getParameter("txtNombre") ;
        getServletContext().getRequestDispatcher(url).forward(request, response);*/
    }

    private void consultarDepartamento(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        DepartamentoService depService = new DepartamentoService();
        String nombre = request.getParameter("txtNombre");

        List<Departamento> departamentos = depService.consultarPorNombre(nombre);
        request.setAttribute("nombre", nombre);
        request.setAttribute("departamentos", departamentos);

        String url = "/TablasDepartamento.jsp";
        getServletContext().getRequestDispatcher(url).forward(request, response);

    }
}

